package com.examination.client.service;

import org.springframework.web.multipart.MultipartFile;

import java.util.List;

/**
 * @Description:
 * @Auther: Jacob feixiang.feng
 * @Date: 2021/10/20
 */
public interface IAliyunOssService {

    /**
     * 上传文件
     *
     * @param file
     * @param courierCode
     * @param courierStatus
     * @return
     * @throws Exception
     */
    String upload(MultipartFile file, String courierCode, String courierStatus) throws Exception;

    String uploadAsy(MultipartFile file, String id) throws Exception;

    String uploadAsyCode(MultipartFile file, String code) throws Exception;

    /**
     * 通过文件名下载文件
     *
     * @param objectName    要下载的文件名
     * @param localFileName 本地要创建的文件名
     */
    void downloadFile(String objectName, String localFileName);

    /**
     * 删除文件
     * objectName key 地址
     *
     * @param filePath
     */
    Boolean delFile(String filePath);

    /**
     * 批量删除
     *
     * @param keys
     */
    Boolean delFileList(java.util.List<String> keys);

    /**
     * 获取文件夹
     *
     * @param fileName
     * @return
     */
    List<String> fileFolder(String fileName);

    /**
     * 列举文件下所有的文件url信息
     */
    List<String> listFile(String fileHost);

    /**
     * 获得url链接
     *
     * @param objectName
     * @return
     */
    String getUrl(String objectName);

    /**
     * 创建文件夹
     *
     * @param folder
     * @return
     */
    String createFolder(String folder);

}
